home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGBLER / ASMCODE2.LZH / SWITCH_1.ASM < prev    next >
Assembly Source File  |  1983-06-19  |  3KB  |  50 lines

  1. ;..............................................................................
  2. ;         THIS IS AN ASSEMBLER PROGRAM IN '.COM' FORM.WILL NOT RUN AS .EXE    .
  3. ;                                                                             .
  4. ;  SET UP ADDRESS FOR THE DATA USED BY THE ROM BIOS.                          .
  5. ;  THE EQUIPMENT FLAG CAN BE CHANGED TO FOOL THE SYSTEM INTO THINKING THAT THE.
  6. ;  COLOR/GRAPHICS BOARD EXITS INSTEAD OF THE MONOCHROME BOARD.                .
  7. ;                                                                             .
  8. ;  <---------|----------->                                                    .
  9. ;               AA--DISPLAY TYPE                                              .
  10. ;  DISPLAY TYPE: 1 - COLOR CARD 40 X 25                                       .
  11. ;                2 - COLOR CARD 80 X 25                                       .
  12. ;                3 - MONOCHROME DISPLAY                                       .
  13. ;..............................................................................
  14. ROM_BIOS_DATA    SEGMENT  AT 40H
  15. RS232_BASE       DW    4 DUP(?)            ;ADDRESSES OF RS232 ADAPTER
  16. PRINTER_BASE     DW    4 DUP(?)            ;ADDRESSES OF PRINTER
  17. EQUIP_FLAG     DW    ?             ;INSTALLED HARDWARE     
  18. ROM_BIOS_DATA    ENDS 
  19.  
  20.  
  21. ;..............................................................................
  22. ;  THIS IS THE START OF THE EXECUTABLE CODE.                                  .
  23. ;.............................................................................. 
  24. CSEG     SEGMENT PARA 'CODE'         
  25.      ASSUME CS:CSEG,DS:ROM_BIOS_DATA  
  26.          ORG   100H              ;Set starting point for a COM file
  27. SWITCH:  MOV   AX,ROM_BIOS_DATA  ;Set up data segment to point to data         
  28.          MOV   DS,AX
  29.  
  30.          MOV   DX,RS232_BASE
  31.          XOR   AH,AH             ;AH = 0 calls for set-mode function
  32.          MOV   BX,EQUIP_FLAG     ;Get the current equipment flag
  33.          MOV   CX,BX             ;Make a copy of the flag
  34.          AND   CX,30H            ;Pick off the display information
  35.          XOR   BX,CX             ;Erase current display information
  36.          OR    BX,10H            ;Set to color display, 40 x 25
  37.          MOV   AL,0              ;BW 40X25 mode
  38.          CMP   CX,30H            ;Was it set to monochrome display?
  39.          JE    S1                ;Yes, then set to BW, 40x25
  40.          OR    BX,30H            ;No, set to monochrome display
  41.          MOV   AL,7              ;Monochrome mode 
  42. S1:      MOV   EQUIP_FLAG,BX     ;Write flag back to memory 
  43.          INT   10H               ;Make request to BIOS to set display mode 
  44.  
  45.          INT   20H               ;Return to DOS 
  46.  
  47. CSEG     ENDS 
  48.  
  49.          END   SWITCH 
  50.